/*
知识点待优化整理

javascript 20

函数式编程的思想：把a转换成b的运算过程 对运算过程进行抽象
纯函数：封闭的、无状态的
柯里化：多维进行降维 
闭包有性能问题，但是是拿空间换时间 通过闭包，把数据缓存起来，保存到内存中，不需要的时候，取消掉就行 该花的性能还是要花的，可以省时间


总结不同场景下的this
改变this的方法：bind（不调用）、call、apply
关心函数调用的方式

副作用IO 、异常处理Either、异步任务Task 、执行上下文EC(Execution Context)
closure闭包

在全局范围内通过const let 定义的变量都是全局变量 =》 存储到Script
var 全局变量，挂载到window中 存储到Global

console.dir() 可以打印对象

面试题
模拟bind、call

new Promise((resolve, reject)=>{
resolve();
})

let name = 'mdn', size='16'; 但是在下面的方法里只引用了name，没有引用size，会不会把size也缓存起来，这个问题，自己可以在本地测试下的

消息队列、Event loop、微任务、宏任务、
*/